A system which transfers a file from a sending side terminal (which will be called a send apparatus hereinafter) to another terminal which is in a receiving side (which will be called a receive apparatus hereinafter) by using a network is called a file transfer system.
As an example of a conventional file transfer system, there is a method in which a file is directly sent from the send apparatus to the receive apparatus. As another example, there is a method in which a shared server is provided such as an FTP server or an HTTP server which includes a part for storing the file and a part for distributing the stored file to a terminal according to a request from the terminal. In addition, the send apparatus stores the file in the shared server and the receive apparatus receives the file from the shared server.
As an additional example, there is a method in which a file is transferred via a plurality of file relay apparatuses like E-mail.
As for the method in which the file is sent directly from the send apparatus to the receive apparatus, there is a problem in that the send apparatus and the receive apparatus should be activated simultaneously. In addition, as for the method in which the shared server is provided, although the send apparatus and the receive apparatus are not necessarily activated simultaneously, there is a problem in that file sending process by the send apparatus and file receiving process by the receive apparatus take time when the shared server is located far from the send apparatus and the receive apparatus.
Further, as for the method in which the file is transferred via a plurality of file relay apparatuses, the problem of taking time for file sending by the send apparatus and file receiving by the receive apparatus can be solved because the send apparatus and the receive apparatus can send a file to a nearest file relay apparatus and receive a file from a nearest file relay apparatus. However, a first relay apparatus can not send a file to a second file relay apparatus of a next stage until the first relay apparatus receives all of the file. The reason is that the file relay apparatus is forced to stop transferring a file to the next stage at some midpoint when file transfer speed of a file relay apparatus or a send apparatus of a previous stage is slower than file transfer speed to a file relay apparatus or a receive apparatus of a next stage. Thus, waiting time from the time when the send apparatus starts to send a file until the receive apparatus can start to receive the file increases in proportion to the file size and the number of the relay file transfer apparatuses.
In addition, according to a conventional file transfer method, a file transfer can not be performed while suspending and resuming file transfer at some midpoint. The reason is that, according to the conventional file transfer method, the relay apparatus can not send the amount of already stored data of the suspended file to the send apparatus, and, the send apparatus can not send data following data of the amount to the relay apparatus.